Skip to content

Fix conditional wrappers for vararg runtime calls#3290

Draft
ChrisRackauckas-Claude wants to merge 1 commit into
EnzymeAD:mainfrom
ChrisRackauckas-Claude:fix-vararg-conditional-setproperty
Draft

Fix conditional wrappers for vararg runtime calls#3290
ChrisRackauckas-Claude wants to merge 1 commit into
EnzymeAD:mainfrom
ChrisRackauckas-Claude:fix-vararg-conditional-setproperty

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

This PR should be ignored until reviewed by @ChrisRackauckas.

Summary

  • Builds conditional execution wrappers from call-site argument types when the callee has fewer fixed LLVM parameters than the runtime activity comparison index, as happens for vararg Julia runtime calls like dynamic setproperty!.
  • Adds an isolated type-unstable setproperty! regression test covering the BoundsError introduced after Fix loosen requirements for absint of newstruct #3286.

Local verification

timeout 3600 /home/crackauc/.juliaup/bin/julia +1.11 --project=test test/runtests.jl typeunstable

Test Summary: | Pass  Total     Time
  Overall     |   27     27  2m30.8s
    SUCCESS

Also checked two CI-adjacent focused suites locally on Julia 1.10 after CI failures appeared:

timeout 3600 /home/crackauc/.juliaup/bin/julia +1.10 --project=test test/runtests.jl rules/internal_rules/linear_algebra_rules

Test Summary: | Pass  Total     Time
  Overall     | 4699   4699  8m11.8s
    SUCCESS
timeout 3600 /home/crackauc/.juliaup/bin/julia +1.10 --project=test test/runtests.jl tests

Test Summary: | Pass  Total     Time
  Overall     |  121    121  1m23.4s
    SUCCESS

Notes

The original SciML issue workload gets past the previous BoundsError with this patch, but still later fails with a separate IllegalTypeAnalysisException in SciMLSensitivity.ReverseLossCallback.

@codecov

codecov Bot commented Jul 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.90909% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 74.29%. Comparing base (e619385) to head (3aa1eb9).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
src/gradientutils.jl 90.90% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3290   +/-   ##
=======================================
  Coverage   74.28%   74.29%           
=======================================
  Files          66       66           
  Lines       22602    22609    +7     
=======================================
+ Hits        16791    16797    +6     
- Misses       5811     5812    +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude ChrisRackauckas-Claude force-pushed the fix-vararg-conditional-setproperty branch from 3aa1eb9 to 723fada Compare July 9, 2026 07:33
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor Author

Rebased onto current main (base now includes #3293, #3294, #3295 and v0.13.177 bump) and force-pushed with lease.

Post-rebase local verification:

timeout 3600 /home/crackauc/.juliaup/bin/julia +1.11 --project=test test/runtests.jl typeunstable

Test Summary: | Pass  Total     Time
  Overall     |   27     27  2m30.8s
    SUCCESS

I also checked two focused suites corresponding to earlier CI failure summaries before the rebase:

timeout 3600 /home/crackauc/.juliaup/bin/julia +1.10 --project=test test/runtests.jl rules/internal_rules/linear_algebra_rules

Test Summary: | Pass  Total     Time
  Overall     | 4699   4699  8m11.8s
    SUCCESS
timeout 3600 /home/crackauc/.juliaup/bin/julia +1.10 --project=test test/runtests.jl tests

Test Summary: | Pass  Total     Time
  Overall     |  121    121  1m23.4s
    SUCCESS

Earlier CI failures I inspected were not in the new setproperty regression. The integration failures included self-hosted runner/container errors, a timeout, and a Molly segfault; the main CI failures I checked locally passed in focused form.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants